import { IPSControlItem } from '../ipscontrol-item';
import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSSysPFPlugin } from '../../res/ipssys-pfplugin';

/**
 *
 * @export
 * @interface IPSListItem
 */
export interface IPSListItem extends IPSControlItem {
  /**
   * 对齐方式
   * @description 值模式 [云实体属性界面模式表格列对齐] {LEFT：左对齐、 CENTER：居中、 RIGHT：右对齐 }
   * @type {( string | 'LEFT' | 'CENTER' | 'RIGHT')}
   */
  align: string | 'LEFT' | 'CENTER' | 'RIGHT';

  /**
   * 代码表输出模式
   * @description 值模式 [列表项代码表转换模式] {NONE：直接值、 FRONT：绘制时转换（前台）、 BACKEND：控制器转换（后台） }
   * @type {( string | 'NONE' | 'FRONT' | 'BACKEND')}
   */
  cLConvertMode: string | 'NONE' | 'FRONT' | 'BACKEND';

  /**
   * 标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题
   * @type {string}
   */
  caption: string;

  /**
   * 数据分组项
   * @type {string}
   */
  groupItem: string;

  /**
   * 项权限标识
   * @type {string}
   */
  itemPrivId: string;

  /**
   * 项类型
   * @description 值模式 [云平台列表项类型] {TEXTITEM：显示内容项、 ACTIONITEM：操作项、 DATAITEM：数据项 }
   * @type {( string | 'TEXTITEM' | 'ACTIONITEM' | 'DATAITEM')}
   */
  itemType: string | 'TEXTITEM' | 'ACTIONITEM' | 'DATAITEM';

  /**
   * 列前端扩展插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 宽度串
   * @type {string}
   */
  widthString: string;

  /**
   * 启用项权限控制
   * @type {boolean}
   * @default false
   */
  enableItemPriv: boolean;

  /**
   * 支持排序
   * @type {boolean}
   */
  enableSort: boolean;

  /**
   * 隐藏数据项
   * @type {boolean}
   * @default false
   */
  hiddenDataItem: boolean;
}
